package com.linkoog.devtools.code_generator.template.model;

import com.linkoog.devtools.code_generator.template.model.node.FileNodeData;
import com.linkoog.devtools.code_generator.template.model.node.DirNodeData;
import com.linkoog.devtools.code_generator.template.model.node.TemplateNodeData;
import com.linkoog.devtools.code_generator.template.render.engine.TemplateType;
import org.jetbrains.annotations.NotNull;

public class NodeDataFactory {

    public static TemplateNodeData createTemplateNodeData(){
        return new TemplateNodeData("template", TemplateType.VELOCITY);
    }

    public static TemplateNodeData createTemplateNodeData(String templateName){
        return new TemplateNodeData(templateName, TemplateType.VELOCITY);
    }

    public static TemplateNodeData createTemplateNodeData(String templateName, TemplateType templateEngineType){
        return new TemplateNodeData(templateName, templateEngineType);
    }

    public static DirNodeData createPackageNodeData(@NotNull ContainerNodeData containerNode){
        DirNodeData dirNodeData = new DirNodeData("package");
        containerNode.addChildNode(dirNodeData);
        return dirNodeData;
    }

    public static FileNodeData createFileNodeData(@NotNull ContainerNodeData containerNode){
        FileNodeData fileNodeData = new FileNodeData("file.java", "vm");
        containerNode.addChildNode(fileNodeData);
        return fileNodeData;
    }

}
